build.gradle(Module)
dependencies {
//Glide
implementation 'com.github.bumptech.glide:glide:4.13.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
//OkHttp3
implementation 'com.github.bumptech.glide:okhttp3-integration:4.13.2'
...
}
圖像資源通常透過"網路"和"本地資料夾"取得,所以我們需要添加相對應的權限才可操作。
AndroidManifest.xml
<manifest ...>
<!-- 允許從網路獲取圖片資源和監聽網路狀態 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 允許從DCIM或圖片等"本地資料夾加載圖片" -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 允許將緩存"儲存在外部的sdcard上" -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
一行程式碼即可簡單完用戶發出的大多數請求。
Glide.with(context) // 獲取上下文
.load(url) // 圖片URL
.into(imagetview) // 圖片要放置的控件
Glide.with(this)
.load("https://images2.gamme.com.tw/news2/2018/73/41/qZqUoZ6ZkaGYsKU.jpg")
.into(binding.imageView);
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>